package com.bosssoft.service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bosssoft.entity.po.FibExpenseBudgetPO;
import com.bosssoft.entity.vo.FibExpenseBudgetVO;
import com.bosssoft.page.PageResult;

/**
 * @author Li kexi
 * Created on 2021/8/19.15:46
 */
public interface FibExpenseBudgetService extends IService<FibExpenseBudgetPO> {


    int updateBatch(List<FibExpenseBudgetPO> list);

    int updateBatchSelective(List<FibExpenseBudgetPO> list);

    int batchInsert(List<FibExpenseBudgetPO> list);

    int insertOrUpdate(FibExpenseBudgetPO record);

    int insertOrUpdateSelective(FibExpenseBudgetPO record);

    boolean selectById(Long eb_id, Integer status);

    Page<FibExpenseBudgetVO> selectByPage(Integer current, Integer size, String deptName, Integer year);

    boolean updateByDetail(Long ebId, BigDecimal amount,Integer year);

    List<FibExpenseBudgetPO> getExpenseBudgetByDeptId(Long childrenId,Integer status);

    void changeStatus(FibExpenseBudgetPO expenseBudgetPO, Integer nextStatus);

    Map<Integer, BigDecimal> expenseSheet(Integer status,Integer year);

    Map<Long, List<FibExpenseBudgetPO>> getAllStatement(Long deptId, Integer year, Integer status);

    Map<Long, BigDecimal> expenseSheet1(Integer status, Integer year);
}

